Lần thứ ba Chiến tranh Nguyên Mông–Đại Việt

Bản đồ mô tả cuộc kháng chiến lần thứ 3 chống quân Nguyên

Ngay sau khi bại trận về nước năm 1285, quân Nguyên chỉnh đốn quân ngũ, bổ sung lực lượng để phục thù. Rút kinh nghiệm từ thất bại trước, quân Nguyên cho đóng nhiều tàu chở lương thực theo đường biển để trở lại đánh Đại Việt lần thứ ba. Cuộc chiến lần này kéo dài khoảng gần 4 tháng, từ cuối tháng 12 năm 1287 đến cuối tháng 4 năm 1288. Quân Nguyên chia làm 3 cánh vào Đại Việt từ Vân Nam, từ Quảng Tây và từ Quảng Đông theo đường biển vào Đại Việt.

Giống như 2 lần trước, quân Nguyên đánh bại quân Đại Việt trong một số trận đánh ở trên bộ lẫn trên biển, nhưng lại chịu một tổn thất quan trọng, đó là lương thực chuyên chở bằng tàu biển đã bị mất hết do bão biển, đi lạc và sau đó bị các đơn vị của Trần Khánh Dư tiêu diệt ở Vân Đồn. Quân Nguyên tập trung ở Vạn Kiếp và đánh rộng ra xung quanh, chiếm được Thăng Long, nhưng lại trúng kế giống như hai lần trước.

Khác với 2 lần trước, lần này quân Đại Việt không huy động lực lượng lớn chặn đánh quân Nguyên từ đầu, mà chỉ đánh có tính kìm chân. Bộ chỉ huy và phần lớn lực lượng Đại Việt rút về vùng Đồ Sơn, Hải Phòng, từ đó tổ chức các cuộc tấn công vào căn cứ Vạn Kiếp và đánh thủy quân Nguyên.

Vì thiếu lương thực và có nguy cơ bị đối phương chia cắt, quân Nguyên bỏ Thăng Long rút về Vạn Kiếp, rồi chủ động rút lui dù quân Đại Việt chưa phản công lớn. Cánh thủy quân của Nguyên đã bị tiêu diệt hoàn toàn tại sông Bạch Đằng khi định rút ra biển. Các cánh bộ binh quân Nguyên khi đi qua Bắc GiangLạng Sơn đã bị quân Đại Việt phục kích, tấn công dữ dội.